from typing import List
class Solution:
def nextPermutation(self, nums: List[int]) -> None:
i = len(nums) - 1
while i > 0 and nums[i-1] >= nums[i]:
i -= 1
if i == 0:
nums.reverse()
return
j = len(nums) - 1
while j >= i and nums[j] <= nums[i-1]:
j -= 1
nums[i-1], nums[j] = nums[j], nums[i-1]
nums[i:] = reversed(nums[i:])
Solution().nextPermutation([3,2,1])